This invention relates to a data processing device which is fabricated on a single semiconductor chip and which can have direct access to a memory.
In the field of electronic computers, direct memory-access (DMA) has been known as a method of transferring data at high speed.
FIG. 1 shows a block diagram of a conventional computer system with the DMA function, for example, a micro computer system. The system comprises central processing unit (CPU) 71 and a direct memory-access controller (DMAC) 72. The system further comprises a read/write memory 73, an I/0 interface 74, a data bus 75, and an address bus 76.
In this system, DMAC 72 renders a DMA-request signal DREQ active to transfer data from memory 73 to I/0 interface 74 by using the DMA function. By this active signal, the right to use the bus is requested of CPU 71. Then, CPU 71 renders a DMA acknowledge signal DACK active. The bus-use right is transferred to DMAC 72. Subsequently, DMAC 72 addresses memory 73 and I/0 interface 74. A read control signal RD is made active for memory 73. A write control signal WR is made active for I/0 interface 74. As a result, data is read out from memory 73 and written into I/0 interface 74. By performing the sequence of operations a designated number of times, the DMA data transfer is executed between memory 73 and I/0 interface 74.
When a specially designed hardware such as DMAC 72 is used, the DMA data transfer does not need the fetching of instructions by CPU 71 or the decoding of instructions. Hence, the DMA data transfer system can transfer data at a speed several times higher than in the normal program processing achieved by CPU 71. Such an operation, however, needs the special hardware of DMAC 72, as has been just mentioned.
The recent trend is that the whole microcomputer is fabricated into a single semiconductor chip. DMAC 72 needs many functional components: a source address register for storing an address of the data to transfer, a destination address register for storing an address to which the data will be transferred to, a transfer counter register for storing the number of data transfers, an incrementor for incrementing the contents of the source address register and the destination address register, a decrementor for decrementing the contents of the source address register and the destination address register, and an interface with the CPU, for example. Therefore, if the DMAC is ,formed in a single chip, the microcomputer contains more hardware, inevitably increasing the chip size and the manufacturing cost.
If software, not hardware, is used for realizing the DMA function, much time must be taken for fetching the instructions of the software program, and for decoding these instructions. This makes the data transfer speed extremely slow.